<?php
    require_once '\Models\LoginHandler.php';
	require_once '\Views\LoginView.php';
       
    class LoginController{
    	
		public function CreateControll()
		{
			//Variabler i functionen
			$xhtml;
			$username;
			$password;
			
			//Skapar objekt
			$loginView = new LoginView();
			$loginModel = new LoginHandler();
			
			//Om man är utloggad
			if($loginModel->IsLoggedIn() == false)
			{
				//Skapa loginruta
				$xhtml = $loginView->CreateLoginBox();
								
				//Hämtar indata(försöker logga in)
				if($loginView->TriedToLogin())
				{
					//Hämtar indata(User och password)
					$username = $loginView->GetUserName();
					$password = $loginView->GetPassword();
					
					//Loggar in om rätt uppgifter...
					if($loginModel->Login($username, $password))
					{
						if($loginView->GetCheckBoxValue()){
							$loginView->CreateCookie($username, $password);
						}		
					}
					else
					{
						//annars Skriv ut felmeddelande...
						$xhtml = $loginView->CreateFailLoginStatusBox();
						$xhtml .= $loginView->CreateLoginBox();
					}
				}
			}
			
			//Om man är inloggad
			if($loginModel->IsLoggedIn())
			{
				//Skapa status och logoutruta				
				$user = $loginView->GetUserName();
				
				$xhtml = $loginView->CreateSuccessLoginStatusBox($user);
				$xhtml .= $loginView->CreateLogoutBox();
				
				//Hämtar indata (tryckt på logga ut)
				if($loginView->TriedToLogOut())
				{
					//Loggar ut och uppdaterar status
					$loginModel->Logout();
					$loginView->DestroyCookie();
					
					$xhtml = $loginView->CreateLogoutStatusBox();
					$xhtml .= $loginView->CreateLoginBox();			
				}
			}
			
			//Generera utdata
			return $xhtml;
		}		
    }
